/*
 * Copyright (C), 2005-2018, 上海瑛麒动漫科技有限公司
 * FileName: RMap.java
 * Author:   tianmu
 * Date:     2018年2月22日 下午2:00:30
 * Description: //模块目的、功能描述
 * History: //修改记录
 * <author>      <time>      <version>    <desc>
 * 修改人姓名             修改时间            版本号                  描述
 */
package com.sfang.common.redis.sdk;

import java.util.List;
import java.util.Map;
import java.util.Set;

/**
 * 〈一句话功能简述〉<br>
 * 〈功能详细描述〉
 *
 * @author tianmu
 * @see [相关类/方法]（可选）
 * @since [产品/模块版本] （可选）
 */
public interface RedisMap<K, V> extends RedisExpirable, RObject {

    void clear();

    boolean containsKey(K key);

    V get(K key);

    Map<K, V> getAll(Set<K> keys);

    boolean isEmpty();

    V put(K key, V value);

    void putAll(Map<K, V> m);

    Map<K, V> readAllMap();

    V remove(K key);

    int size();

    Set<K> getKeySet();
    <T> List mapFindByVal(String value);

    long remainTimeToLive();
}
